export function Rpc(name:string){
    return function <T extends { new(...args: any[]): {} }>(_constructor: T) {
        // var newConstructor = class T extends _constructor {
        //     constructor(...args: Array<any>) {
        //         super(...args);
        //         var resAssigns = this['_res_assign'] as { key: string, url: string }[];
        //         if (resAssigns) {
        //             for (var i = 0; i < resAssigns.length; i++) {
        //                 var resAssign = resAssigns[i];
        //                 // this[resAssign.key] = BundleManager.inst.getBundleRes(EnumBundle.remoteResources, resAssign.url);
        //                 this[resAssign.key] = ResourceManager.inst.getJosn(resAssign.url);
        //             }
        //             this['_res_assign'] = null;
        //         }
        //     }
        // }
        
        return _constructor;
    }
}